contador=0
somaimc=0

def IMC(peso,altura):
	return peso/(altura**2)

def classificacao(imc):
	if (imc<18.5):
		print("Baixo peso")
	elif (imc<=25):
		print("Normal")
	else:
		print("Obesidade")
		
def lerValorRealPositivo(ask):
	n = float(input(ask))
	while (n<=0):
		n = float(input("Numero inválido! {}".format(ask)))
	return n
	
def menu(contador,somaimc):
	rep=True
	while rep:
		print()
		print("Opções disponíveis:")
		print("0 - sair")
		print("1 - introduzir nova medida")
		print("2 - mostrar média atual")
		op = int(input("Opção= "))
		if op not in [0, 1, 2]:
			print("Opção inválida")
		else:
			rep=False
	if (op==0):
		print("FIM")
		print("Até breve")
		exit
	if (op==1):
		peso = lerValorRealPositivo("Peso? ")
		altura = lerValorRealPositivo("Altura? ")
		imc = IMC(peso,altura)
		print("Adulto com um IMC de {:.1f}".format(imc))
		cl = classificacao(imc)
		contador+=1
		somaimc+=imc
		menu(contador,somaimc)
	if (op==2):
		print("Estatísticas atuais:")
		if (contador>0):
			media=(somaimc/contador)
			print("Valor médio do IMC para {:d} adultos: {:.1f}".format(contador, media))
		else:
			print("Ainda não foram efetuados cálculos!")
		menu(contador,somaimc)
		
		


print()
print("Bem vindo(a) à calculadora do IMC")
print()

menu(contador,somaimc)
